package GUI;

/**
 * Macierz kwadratowa. Reprezentacja krawędzi i wierzchołków grafu.
 */
public class MyMatrix {
    private byte tab[][];      
    /**
     * Rozmiar macierzy.
     */
        byte len = 0;
    /**
     * Konstruktor macierzy n*n
     * @param n ilość wierszy i kolumn
     */
    public MyMatrix(int n) {
        tab = new byte[n][n];           
        len = (byte)n;
    }
    
        /**
     * Konstruktor macierzy n*n
     * @param arg macierz byte wejściowa
     */
    public MyMatrix(byte[][] arg) {
        tab=arg.clone();
        len = (byte)tab.length;
    }

    /**
     * Zwraca ilość wierszy.
     * @return ilość wierszy
     */
    public byte rows(){
        return len;
    }
    
    /**
     * Zwraca ilość kolumn.
     * @return ilość kolumn
     */
    public byte columns(){
        return len;
    }
    /**
     * Pobiera wartość z i-tej kolumny i j-tego wiersza.
     * @param i nr kolumny
     * @param j nr wiersza
     * @return wartość
     */
    public byte get(byte i, byte j){
        return tab[i][j];
    }
    /**
     * Zamienia wartość na i-tej kolumnie i j-tym wierszu.
     * @param i nr kolumny
     * @param j nr wiersza
     * @param value wartość
     */
    public void set(byte i,byte j,byte value){
        tab[i][j]=value;
    }
}
